package yy;

import java.util.HashMap;

public class CanConstruct {
    public static void main(String[] args){
        String str1 = "aa";
        String str2 = "ab";
        Boolean result = canConstruct(str1,str2);
        System.out.println(result);
    }

    public static boolean canConstruct(String ransomNote, String magazine) {
        int[] record = new int[26];
        if(ransomNote.length()>magazine.length()){
            return false;
        }
        for(int i =0;i<magazine.length();i++){
            record[magazine.charAt(i)-'a']++;
        }
        for(int i = 0;i<ransomNote.length();i++){
            if(record[ransomNote.charAt(i)-'a']>0){
                record[ransomNote.charAt(i)-'a']--;
            }else{
                return false;
            }
        }
        return true;



//        HashMap<Character,Integer> map = new HashMap<>();
//        for(char c : magazine.toCharArray()){
//            map.put(c,map.getOrDefault(c,0)+1);
//        }
//        for(char c:ransomNote.toCharArray()){
//            if (map.containsKey(c)){
//                int k = map.get(c)-1;
//                if(k<0){
//                    return false;
//                }else{
//                    map.put(c,k);
//                }
//            }else{
//                return false;
//            }
//        }
//        return true;

    }
}
